package com.biz.primus.model.oms.enums;

import com.biz.primus.common.enums.EnumerableValue;
import com.biz.primus.common.enums.converter.BaseEnumValueConverter;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 *
 * 配送状态
 *
 * 状态机:
 *
 *      for_outbound -> for_take_their/distributing -> signed/part_of_signed/reject
 *
 *
 * @author yanweijin
 * @date 2017/10/25
 */
@AllArgsConstructor
@Getter
public enum OrderDeliveryState implements EnumerableValue{

	/**
	 * 待出库
	 */
	for_outbound(0 , "待出库"),

	/**
	 * 待自提
	 */
	for_take_their(5 , "待自提"),

	/**
	 * 配送中
	 */
	distributing(10, "配送中"),

	/**
	 * 已签收
	 */
	signed(15,"已签收"),

	/**
	 * 部分签收
	 */
	part_of_signed(20,"部分签收"),

	/**
	 * 拒收
	 */
	reject(25,"拒收")

	;

	public static class Converter extends BaseEnumValueConverter<OrderDeliveryState>{}

	private final int value;
	private final String desc;


}
